
//27.	实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 ,
// 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
/*import java.util.Arrays;
public class Test {
    public static void transform(int[] array) {
        for (int i = 0; i < array.length; i++) {
            array[i] = 2*array[i];
        }
    }
    public static void main(String[] args) {
        int[] arr = { 1,2,3 };
        transform(arr);
        System.out.println(Arrays.toString(arr));
    }
}*/


//28.	实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型).

/*public class Test {
    public static double avg(int[] array) {
        double sum = 0.0;
        for (int i = 0; i < array.length; i++) {
            sum += array[i];
        }
        return sum/array.length;
    }
    public static void main(String[] args) {
        int[] arr = { 1,2,3,4,5,6,7 };
        double ret = avg(arr);
        System.out.println(ret);
    }
}*/


/**
 * 29.	调整数组顺序使得奇数位于偶数之前。调整之后，不关心大小顺序。
 * 如数组：[1,2,3,4,5,6]
 * 调整后可能是：[1, 5, 3, 4, 2, 6]
 */
/*import java.util.*;
public class Test {
    public static void func(int[] array) {
        int i = 0;
        int j = array.length-1;
        while(i<j) {
            while(i<j && array[i]%2 != 0) {
                i++;
            }
            while(i<j && array[j]%2 == 0) {
                j--;
            }
            int tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }
    }
    public static void main(String[] args)
    {
        int[] arr = { 1,2,3,4,5,6 };
        func(arr);
        System.out.println(Arrays.toString(arr));
    }
}*/
/*
//错误代码：
import java.util.Arrays;
public class Test {
    public static void func(int[] array) {
        int left = 0;
        int right = array.length-1;
        int tmp = 0;
        while(left <= right) {
            if(array[left]%2 != 0) {
                if(array[right]%2 != 0) {
                    tmp = array[left];
                    array[left] = array[right];
                    array[right] = tmp;
                    left++;
                    right--;
                } else {
                    right--;
                }
            } else {
                if(array[right]%2 != 0) {
                    left++;
                } else {
                    left++;
                    right--;
                }
            }
        }
    }
    public static void main(String[] args) {
        int[] arr = { 1,2,3,4,5,6 };
        func(arr);
        System.out.println(Arrays.toString(arr));
    }
}*/


//30.	给定一个有序整型数组, 实现二分查找
/*    import java.util.Scanner;
public class Test {
    public static int binarySearch(int[] array,int n) {
        int i = 0;
        int j = array.length-1;
        while(i <= j) {
            int mid = (i+j)/2;
            if(array[mid] > n) {
                j = mid - 1;
            } else if(array[mid] < n) {
                i = mid + 1;
            } else {
                return mid;
            }
        }
        return -1;
    }
    public static void main(String[] args) {
        int[] arr = { 1,2,3,4,5,6,7,8 };
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int ret = binarySearch(arr,n);
        System.out.println(ret);
    }
}*/


//31.	给定一个整数数组 nums 和一个整数目标值 target，
// 请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。
/*
    import java.util.Scanner;
    import java.util.Arrays;
public class Test {
    public static void func(int[] arr,int n) {
        int i = 0;
        int j = arr.length-1;
        int[] tmp = { i,j };
        while(j > 0) {
            while(i < arr.length-1) {
                if(arr[i]+arr[j] == n) {
                    return tmp;
                }
                i++;
            }
            j--;
            i = 0;
        }
        System.out.println(-1);
    }
    public static void main(String[] args) {
        int[] nums = { 1,2,3,4,5,6,7,8,9 };
        Scanner scan = new Scanner(System.in);
        int target = scan.nextInt();
        func(nums,target);
    }
}*/
